package main

import "fmt"

//defer遇到闭包
func main() {
	var whatever [5]struct{}
	for i := range whatever {
		defer func() { fmt.Println(i) }()
	}
	//这里会全部输出4 因为在main函数执行结束前i就以及变成4了
	//因为defer会在含税return的时候执行 所以会输出4
}
